package config

import "github.com/spf13/viper"

// 定义结构体Config
type Config struct {
	Name string //配置文件的名字
}

// 为结构体添加方法  InitConfig  --》初始化配置文件
func (c *Config) InitConfig() error {
	if c.Name != "" {
		//如果Config实例化的时候指定了Name，则解析指定的配置文件
		viper.SetConfigFile(c.Name)
	} else {
		//如果没有指定配置文件，则默认解析(conf/config)
		viper.AddConfigPath("conf")
		viper.SetConfigName("config")
	}
	//设置配置文件的格式为yaml
	viper.SetConfigType("yaml")
	//读取配置，发生错误就返回err
	if err := viper.ReadInConfig(); err != nil {
		return err
	}
	return nil
}
